window.lpTag=window.lpTag||{};lpTag.cookieMethods=lpTag.cookieMethods||function(){"use strict";function a(){return!!navigator.userAgent.match(/Chrome/)}function b(){var b="lpTestCookie"+(new Date).getTime(),d="testValue";i({name:b,value:d});k=d===f(b);j(b);!k&&a()&&c();m=!1;return k}function c(){var a="lpTestCookie"+(new Date).getTime(),b="testValue";i({name:a,value:b,sameSite:"none",secure:!0});l=b===f(a);j(a,null,null,!0,"none");return l}function d(){return k}function e(){return l}function f(a){var b,c,d="; ",e="";if(m||k||l){if("string"!=typeof a)return"";a=encodeURIComponent(a);try{c=d+document.cookie}catch(f){}b=c.split(d+a+"=");e=1==b.length?"":decodeURIComponent(b[1].split(";")[0])}return e}function g(a,b,c){c="number"==typeof c?c:2592e3;"object"==typeof a&&(a.seconds=c);return h(a,b,c)}function h(a,b,c,d,e,f,g){return i("object"==typeof a?a:{name:a,value:b,seconds:c,path:d,domain:e,secure:f,sameSite:g})}function i(a){var b,c,d=!1;if(m||k||l&&a.secure&&"none"===a.sameSite){if("string"!=typeof a.name||""===a.name)return!1;null!==a.value&&void 0!==a.value||(a.seconds=-1);if("number"==typeof a.seconds){c=(new Date).getTime();b=new Date(c+1e3*a.seconds)}a.value=a.value?encodeURIComponent(a.value):"";try{document.cookie=[encodeURIComponent(a.name),"=",a.value,b?"; expires="+b.toUTCString():"",a.path?"; path="+a.path:"",a.domain?"; domain="+a.domain:"",a.secure?"; secure":"",a.sameSite?"; samesite="+a.sameSite:""].join("");d=!0}catch(e){}}return d}function j(a,b,c,d,e){return i({name:a,path:b,domain:c,secure:d,sameSite:e})}var k=!1,l=!1,m=!0;b();return{clearCookie:j,writeSessionCookie:h,writePersistentCookie:g,readCookie:f,isCookieEnabled:d,isChromeThirdPartyEnabled:e}}();window.lpTag=window.lpTag||{};lpTag.storageMethods=lpTag.storageMethods||function(){"use strict";function a(){return l&&m}function b(){return l}function c(){return m}function d(a,c){if(b()){sessionStorage.setItem(a,c);return!0}}function e(a){return b()?sessionStorage.getItem(a)||"":void 0}function f(a){if(b()&&e(a)){sessionStorage.removeItem(a);return!0}return!1}function g(a,b){if(c()){localStorage.setItem(a,b);return!0}}function h(a){return c()?localStorage.getItem(a)||"":void 0}function i(a){if(c()&&h(a)){localStorage.removeItem(a);return!0}return!1}function j(){try{l=k(sessionStorage);m=k(localStorage)}catch(a){}}function k(a){var b=!1,c="lpTestCase",d="abc";try{if("undefined"!=typeof Storage){a.setItem(c,d);b=a.getItem(c)===d;a.removeItem(c)}}catch(e){}return b}var l=!1,m=!1;j();return{isStorageEnabled:a,isSessionStorageEnabled:b,isLocalStorageEnabled:c,setSessionData:d,getSessionData:e,removeSessionData:f,setPersistentData:g,getPersistentData:h,removePersistentData:i}}();window.lpTag=window.lpTag||{};lpTag.SessionDataManager=lpTag.SessionDataManager||function(a){"use strict";function b(a){lpTag&&lpTag.log&&lpTag.log(a,"ERROR","SessionData")}function c(a,c,d){var e=!1;if("object"!=typeof c)try{var f=d?g.getPersistentSessionData(a):g.getSessionData(a),h=""!==f?f.split(i):[];h.push(c);f=h.join(i);e=d?g.setPersistentData(a,f,d):g.setSessionData(a,f)}catch(j){b((d?"appendToPersistentData ":"appendToSessionData ")+" failed, key: "+a)}return e}function d(a,c,d){var e=!1;if("object"!=typeof c)try{for(var f=d?g.getPersistentSessionData(a):g.getSessionData(a),h=""!==f?f.split(i):[],j=[],k=0;k-1?"&":"?";a+="v=1"}a.indexOf("&NC=true")<0&&(a+="&NC=true");return a}function d(a){j&&a.toLowerCase().indexOf(".json")<0&&(a.indexOf("?")>0?a=a.replace("?",".json?"):a+=".json");return a}function e(a){var b="";for(var c in a)if(a.hasOwnProperty(c)&&void 0!==a[c]&&null!==a[c])if(a[c].constructor===Array)for(var d=0;dj;j++){f=h[j];if(void 0===i[f])break;i=i[f]}if(!0===c){var k={};k[h[g-1]]=i;i=k}}i=d.removeRels(i);for(var l in e)e.hasOwnProperty(l)&&void 0===i[l]&&(i[l]=e[l]);return i};d.removeRels=function(a){for(var b in a)if(a.hasOwnProperty(b))if("link"==b){a[b]=null;delete a[b]}else"object"==typeof a[b]&&(a[b]=lpTag.utils.removeRels(a[b]));return a};d.deleteProps=function(a,b){for(var c=0;ce;e++)if(e in a&&b.call(c,a[e],e,a)==={})return}else for(var g in a)if(Object.prototype.hasOwnProperty.call(a,g)&&b.call(c,a[g],g,a)==={})return}},extend:function(a){this.each(Array.prototype.slice.call(arguments,1),function(b){for(var c in b)a[c]=b[c]});return a},isEmptyObj:function(a){for(var b in a)return!1;return!0},init:function(){}};window.lpTag=window.lpTag||{};lpTag.taglets=lpTag.taglets||{};lpTag.taglets.lpAjax=lpTag.taglets.lpAjax||function(a){function b(){o=!0}function c(b,c){a.lpTag&&lpTag.log&&lpTag.log(b,c,l)}function d(a,b){if(n[a])c("Existing transport: "+a+" tried to register",p.DEBUG);else{n[a]=b;c("Added transport: "+a,p.DEBUG)}}function e(a){o||b();var d,e="unknown";try{d=h(a);if(d){d.issueCall(a);return!0}c("No Transport found to issueCall",p.ERROR);k(p.ERROR,a.error,{responseCode:601,error:"No Transport found to issueCall, request: "+a.url,body:"ERROR"},a.context)}catch(f){d&&d.getName&&(e=d.getName());c("Transport - "+e+" - unknown exception while issueCall",p.ERROR);k(p.ERROR,a.error,{responseCode:600,error:"Transport - "+e+" - unknown exception while issueCall: "+a.url+" e="+f,body:"ERROR"},a.context)}}function f(a){o||b();for(var c in a){var d=n[c];d&&d.configure(a[c])}}function g(a){if(a&&"object"==typeof a){a.appName=m;a.ts=(new Date).getTime();a.tags&&a.tags.constructor===Array&&a.tags.push({pageId:q});c(a,p.METRICS)}}function h(a){for(var b,c=!1,d=-1,e=0;ee;e++)if(e in a&&b.call(c,a[e],e,a)==={})return}else for(var g in a)if(Object.prototype.hasOwnProperty.call(a,g)&&b.call(c,a[g],g,a)==={})return}}function j(a){i(Array.prototype.slice.call(arguments,1),function(b){for(var c in b)a[c]=b[c]});return a}function k(a,b,d,e){if("function"==typeof b)try{b.call(e||null,d);b=null}catch(f){c("runCallback: Exception in execution of callback, type :"+a+" e=["+f.message+"]",p.ERROR)}else c("runCallBack: No callback, of type :"+a,p.INFO)}var l="lpAjax",m="lpTransporter",n={},o=!1,p={ERROR:"ERROR",DEBUG:"DEBUG",INFO:"INFO",METRICS:"METRICS"},q="lpT"+Math.floor(1e5*Math.random())+"_"+Math.floor(1e6*Math.random());return{getVersion:function(){return"1.1.3"},getName:function(){return l},init:b,publishMetrics:g,issueCall:e,configureTransports:f,addTransport:d}}(window);window.lpTag=window.lpTag||{};lpTag.taglets=lpTag.taglets||{};lpTag.taglets.jsonp=lpTag.taglets.jsonp||function(a){function b(){if(lpTag&&lpTag.taglets&&lpTag.taglets.lpAjax)try{lpTag.taglets.lpAjax.addTransport(W,X)}catch(a){}x()}function c(a){if(a)for(var c in a)H.hasOwnProperty(c)&&a.hasOwnProperty(c)&&(H[c]=a[c]);b()}function d(b){var c=!1;if(J&&b&&b.url){var d=!1;b.callbackName&&"string"==typeof b.callbackName&&(T[b.callbackName]||a[b.callbackName])&&(d=!0);var e;try{e=k(b)}catch(f){E("Could not evaluate the length of the request, e="+f,I.ERROR,"isValidRequest");c=!1}void 0!==e&&K>e&&!d&&(c=!0)}return c}function e(a){var b;if(!d(a)){E("URL request was too long or static callback name already exists, url: "+b,I.ERROR,"issueCall");s();a&&a.error&&B(I.ERROR,a.error,i(600,"Transport - JSONP - unable to run request: "+a.url),a.context);return!1}a=g(a);a.callbackName&&"string"==typeof a.callbackName?a.retries=0:a.callbackName=L+h();b=a.url+(a.url.indexOf("?")>-1?"&":"?")+a.callback+"="+a.callbackName;a.data&&(b+="&"+l(a.data));a.query&&(b+="&"+l(a.query));a.callUrl=b;if(n(a)){D(a);o()}else E("URL request was too long and was not sent, url: "+b,I.ERROR,"issueCall");return!0}function f(){var a={};for(var b in H)H.hasOwnProperty(b)&&(a[b]=H[b]);return a}function g(a){"string"==typeof a&&(a={url:a});if(!a.url)return!1;a.encoding=a.encoding||H.encoding;a.callback=a.callback||H.callback;a.retries="number"==typeof a.retries?a.retries:H.retries;a.timeout=a.timeout?a.timeout:H.timeout;return a}function h(a){var b,c=99999,d="x";b=a?c+d+c:Math.round(Math.random()*c)+d+Math.round(Math.random()*c);return b}function i(a,b){return{statusCode:a,responseCode:a,error:b,body:"ERROR"}}function j(){return"scr"+Math.round(999999999*Math.random())+"_"+Math.round(999999999*Math.random())}function k(a){var b=U;a.callbackName&&"string"==typeof a.callbackName&&(b=a.callbackName.length);return 4+(a.callback||H.callback).length+a.url.length+b+l(a.data).length+l(a.query).length}function l(a){var b="";if("string"==typeof a)b+=a;else{var c=!0;for(var d in a){var e;"object"==typeof a[d]?e=m(a[d]):"function"!=typeof a[d]&&(e=a[d]);if(void 0!==e){c||(b+="&");b+=encodeURIComponent(d)+"="+encodeURIComponent(e);c=!1}}}return b}function m(a){var b;if("function"==typeof Array.prototype.toJSON){var c=Array.prototype.toJSON;delete Array.prototype.toJSON;try{b=JSON.stringify(a)}catch(d){Array.prototype.toJSON=c;throw d}Array.prototype.toJSON=c}else b=JSON.stringify(a);return b}function n(b){var c,d=!1,e=new RegExp(/(http{1}s{0,1}?:\/\/)([^\/\?]+)(\/?)/gi);c=0===b.callUrl.indexOf("http")?e.exec(b.callUrl):e.exec(a.location.href);if(c&&c.length>=3&&""!==c[2]){var f=c[2].toLowerCase();b.domainMatch=f;M[f]=M[f]||[];M[f].inFlight=M[f].inFlight||0;M[f].push(b);d=!0;O+=1;E("buffered URL: "+b.callUrl,I.DEBUG,"lpTag.taglets.jsonp.bufferRequest")}else E("NO MATCH for URL: "+b.callUrl,I.ERROR,"lpTag.taglets.jsonp.bufferRequest");return d}function o(){var a;for(var b in M)if(M.hasOwnProperty(b)){a=M[b];for(var c=!1;!c&&a.inFlight<6&&a.length>0;){var d=a.shift();if(d){E("Sent URL: "+d.callUrl,I.DEBUG,"lpTag.taglets.jsonp.sendRequests");d.scriptId=q(d.callUrl,d.encoding,d.callbackName);d.startTime=(new Date).getTime();r(b,d.callbackName,d.timeout);O-=1}else c=!0}}a=null}function p(){clearTimeout(F);F=null;var b=new Date;for(var c in T)if(T.hasOwnProperty(c)&&T[c].launchTime){var d=b-T[c].launchTime;(T[c].loadTime||d>T[c].timeout)&&a[c].apply(null,[i(408,{message:"Request timed out",name:"timeout"}),!0])}P>0&&(F=setTimeout(p,1e3))}function q(b,c,d){var e=j(),f=document.createElement("script");f.setAttribute("type","text/javascript");f.setAttribute("charset",c);f.onload=function(){T[d]&&(T[d].loadTime=new Date);this.onload=this.onerror=this.onreadystatechange=null};a.addEventListener?f.onerror=function(){T[d]&&(T[d].loadTime=new Date);this.onload=this.onerror=this.onreadystatechange=null}:f.onreadystatechange=function(){if(this.readyState&&("loaded"===this.readyState||"complete"===this.readyState)){T[d]&&(T[d].loadTime=new Date);this.onload=this.onerror=this.onreadystatechange=null}};f.setAttribute("src",b);f.setAttribute("id",e);document.getElementsByTagName("head")[0].appendChild(f);F||(F=setTimeout(p,1e3));f=null;return e}function r(a,b,c){M[a].inFlight=M[a].inFlight+1;T[b]={launchTime:new Date,timeout:c};P+=1;N+=1}function s(){Q+=1}function t(a){var b=document.getElementById(a);if(b)try{b.parentNode.removeChild(b)}catch(c){E("error when removing script",I.ERROR,"removeScript")}}function u(a){M[a].inFlight=M[a].inFlight-1;P-=1}function v(a,b,c){y(b.startTime,b.url,c);t(b.scriptId);u(b.domainMatch);C(b.callbackName,c);if(c){if(b.callbackName){b.callbackName=null;delete b.callbackName}z(a,b)}else{A(b);B("callback",b.success,a,b.context);b=null;o()}}function w(){var a;if(lpTag.taglets.lpAjax&&lpTag.taglets.lpAjax.publishMetrics&&S.length>0){a={tags:[{transport:W}],metrics:S};lpTag.taglets.lpAjax.publishMetrics(a);S.length=0}x()}function x(){G&&clearTimeout(G);G=setTimeout(w,H.metricsTimeout)}function y(a,b,c){var d,e;if(a){e=(new Date).getTime();d=e-a;S.push({rd:d,ts:a,url:b,method:"GET",statusCode:c?400:200});S.length>=H.metricsCount&&w()}}function z(a,b){R+=1;if(b.retries>0){b.retries=b.retries-1;e(b)}else{A(b);B(I.ERROR,b.error,a||i(408,{id:408,name:"TIMEOUT",message:"Request has timed out on all retries"}),b.context);b=null;o()}}function A(a){for(var b=["callUrl","retries","id","requestTimeout","type","encoding","launchTime","callbackName","domainMatch","startTime"],c=0;c-1?"&":"?")+R.VERSION_PARAM+"="+F+"&"+R.JSON+"="+O;if(b){var d=k(a.data);d&&(c+="&"+R.BODY_PARAM+"="+d)}return c}function p(a){return a.url.length+U+k(a.data).length>T}function q(a,b,c,d){if("function"==typeof b)try{b.call(d||null,c)}catch(e){i("Exception in execution of callback, type :"+a+" e=["+e.message+"]","ERROR","lpTag.JSONP.runCallback")}else i("No callback, of type :"+a,"INFO","lpTag.JSONP.runCallback")}function r(a,b){var c={};c.encoding=a.encoding;c.timeout=a.timeout||K.timeout;c.callback=a.callback||K.callback;c.retries="number"==typeof b?b:0;return c}function s(a){a.id=j();W[a.id]={originalRequest:a,index:0,baseUrl:o(a,!1),urls:x(a.url,k(a.data),a.id),interimObj:r(a)};t(W[a.id].interimObj,W[a.id])}function t(a,b){a.url=w(b);a.id=b.id+"!"+b.index;a.success=function(c){if(!c||200!==c.responseCode&&201!==c.responseCode){b.originalRequest.error.apply(null,[c]);v(b.id);B()}else{c&&c.lpMeta&&c.lpMeta.lpS&&(b.secureId=c.lpMeta.lpS);if(b.index+1f;f++){d=a.substring(f*b,(f+1)*b);e>f+1&&c.push(d)}return d}function e(a,b,c,d,e){var f=(a+b).length;f+=e>0?1:0;if(f>c){d.push(a);a=""}a+=e>0?"%":"";a+=b;return a}var f,g="",h=[],i=b.split("%");for(f=0;fa){i[f]=c(g,i[f],h,f,a);g="";g=d(i[f],a,h)}else g=e(g,i[f],a,h,f);""!==g&&h.push(g);return h}function z(){H+=1;J+=1}function A(){J=J>0?J-1:0}function B(){I+=1}function C(a){var b="";if(-1!=a.indexOf("/agentSession"))b="/agentSession";else if(-1!=a.indexOf("/chat"))b="/chat";else if(-1!=a.indexOf("/visit")){b="/visit";-1!=a.indexOf("/keepAlive")&&(b+="/keepAlive")}else-1!=a.indexOf("/configuration")&&(b="/configuration");return b}var D,E="1.2",F="1",G="rest2jsonp",H=0,I=0,J=0,K={retries:3,method:"GET",timeout:3e4,encoding:"UTF-8",callback:"cb"},L={prefix:"https://",middle:"/api/account/",suffix:"/js2rest"},M="",N={site:"",domain:""},O="1",P=32,Q={PART_PARAM:"lpP",OUTOF_PARAM:"lpO",SECURE_IDENTIFIER:"lpS"},R={VERSION_PARAM:"lpV",BODY_PARAM:"lpB",JSON:"lpjson",CALLID:"lpCallId"},S=j().length,T=2083,U=m(),V=n(),W={};D={name:G,version:E,init:a,configure:b,issueCall:d,isValidRequest:c,inspect:e};a();return D}();window.lpTag=window.lpTag||{};lpTag.taglets=lpTag.taglets||{};lpTag.taglets.postmessage=lpTag.taglets.postmessage||function(a){function b(a){var b=0===location.protocol.indexOf("https");if(a){if(a.frames){a.frames=a.frames.constructor===Array?a.frames:[a.frames];for(var c=0;c0;)try{la.shift().call(null)}catch(a){Z("Unable to execute queued callbacks for window interactive state: "+a,ma.ERROR,"_attachPendingIFrames")}}function m(a){return a+"_"+Math.floor(1e5*Math.random())+"_"+Math.floor(1e5*Math.random())}function n(a){var b,c=new RegExp(/(http{1}s{0,1}?:\/\/)([^\/\?]+)(\/?)/gi),d=null;if(0!==a.indexOf("http"))return location.protocol+"//"+location.host;b=c.exec(a);b&&b.length>=3&&""!==b[2]&&(d=b[1].toLowerCase()+b[2].toLowerCase());return d}function o(a,b){var c,d,e=!1;if(!a||!a.url||"string"!=typeof a.url){Z("iFrame configuration empty or missing url parameter",ma.ERROR,"_queueFrame");return e}c=n(a.url);d=0===a.url.toLowerCase().indexOf("https");if(!(da[c]||ja[c]||b&&d!==b)){ja[c]=a;e=!0}return e}function p(a){var b=n(a.url);if(da[b])return w(b,a.callback||a.success,a.context);var c=m("fr");da[b]={elem:x(c),url:a.url,validated:ua.PENDING,defaults:a.defaults||{},delayLoad:isNaN(a.delayLoad)?0:a.delayLoad,requestCount:0,success:a.callback||a.success,error:a.error,maxReloadRetries:a.maxReloadRetries||3,reloadInterval:1e3*a.reloadInterval||3e4};setTimeout(function(){r(a.url,b)},da[b].delayLoad);Z("iFrame Queued to load "+b,ma.INFO,"_addFrame");return ua.PENDING}function q(a){var b=n(a.url);ja[b]={url:a.url,defaults:a.defaults||{},delayLoad:a.delayLoad,success:a.success,error:a.error,maxReloadRetries:a.maxReloadRetries,reloadInterval:a.reloadInterval/1e3}}function r(a,b){ka?s(a,b):la.push(function(){s(a,b)})}function s(a,b){da[b].loadCallback=da[b].loadCallback||t(b);S(da[b].elem,a);h(da[b].elem,"load",da[b].loadCallback);da[b].iFrameOnloadTimeout=setTimeout(da[b].loadCallback,ta);da[b].attachTime=(new Date).getTime();document.body.appendChild(da[b].elem)}function t(a){return function(b){if(da[a].iFrameOnloadTimeout){clearTimeout(da[a].iFrameOnloadTimeout);delete da[a].iFrameOnloadTimeout}da[a].loadTime=(new Date).getTime()-da[a].attachTime;A(a,b)}}function u(a){ga+=1;ia+=1;da[a].requestCount=da[a].requestCount+1}function v(a,b){fa[a]=fa[a]||[];fa[a].push(b);return!0}function w(a,b,c){W(b,c,f(a));return da[a].validated}function x(a){var b=document.createElement("IFRAME");b.setAttribute("id",a);b.setAttribute("name",a);b.setAttribute("tabindex","-1");b.setAttribute("aria-hidden","true");b.setAttribute("title","");b.setAttribute("role","presentation");b.style.width="0px";b.style.height="0px";b.style.position="absolute";b.style.top="-1000px";b.style.left="-1000px";b.style.display="none";return b}function y(a,b,c,d,e,f){var g=!1;if(a&&b&&"function"==typeof b){ea[a]={success:b,error:c,progress:d,ctx:e,launchTime:new Date,timeout:isNaN(f)?sa.timeout:f+1e3};g=!0}return g}function z(a){if(ea[a]){ea[a]=null;delete ea[a];return!0}return!1}function A(a,b){Z("onLoad validation called "+a,ma.INFO,"_validateFrame");var c=function(b){B(b,a)};b&&b.error?B(b,a):setTimeout(function(){e({domain:a,success:c,error:c,validation:!0,timeout:100,retries:-1,defaults:da[a].defaults})},10);return!0}function B(a,b){var c,d=da[b];Z("running validation of domain "+b,ma.INFO,"_validateFrameCallback");if(d){da[b].validated=a&&a.error?ua.FAILED:ua.VALIDATED;c=da[b].validated===ua.VALIDATED;c?C(b,a):da[b].reloadObj&&da[b].reloadObj.retriesLeft>0?E(b):D(b)}d=null;return c}function C(a,b){var c;Z("FrameLoaded "+a,ma.INFO,"_runFrameValidated");c=N(qa);for(var d in b)b.hasOwnProperty(d)&&(c[d]=b[d]);W(da[a].success,da[a].context,c);U(a);F(a,!0)}function D(a){ Z("iFrame is a teapot "+a,ma.ERROR,"_runFrameFailedToLoad");if(da[a].error){var b=i(0,ra);b.domain=a;W(da[a].error,da[a].context,b)}G(a);F(a,!1)}function E(a){Z("Retry loading domain: "+a,"info","_runReloadAttempt");F(a,!1);P(a)}function F(a,b){Z("Running buffer queue : "+a+" loaded: "+b,ma.INFO,"_runQueuedRequests");if(fa[a]&&fa[a].length>0){do{var c=fa[a].shift();b?e(c):W(c.error,c.context,{responseCode:600,error:"Transport - postmessage - unable to run request: "+a,body:"ERROR"})}while(fa[a].length>0);fa[a]=null;delete fa[a]}}function G(a){Z("Cleaning up failed iFrame: "+a,ma.INFO,"_cleanupIFrame");if(da[a]){j(da[a].elem,"load",da[a].loadCallback);da[a].elem.parentNode.removeChild(da[a].elem);var b=N(ra);b.domain=a;b.url=da[a].url;W(da[a].error,da[a].context,b);q(da[a]);da[a]=null;delete da[a]}}function H(a,b,c){Z("Frame not found for domain: "+a,ma.ERROR,"_noFrameFound");W(b,{responseCode:600,error:"Transport - postmessage - unable to run request: "+a,body:"ERROR"},c);return!1}function I(a){var b,c=!1;a=K(a);b=N(a);try{b=J(b)}catch(d){Z("Error trying to _stringify message",ma.ERROR,"sendMessageToFrame");return!1}Z("sending msg to domain "+a.domain,ma.DEBUG,"sendMessageToFrame");var e;isNaN(a.timeout)||isNaN(a.retries)||(e=a.timeout*(a.retries+1)+2e3);y(a.callId,a.success,a.error,a.progress,a.context,e);try{c=L(a.domain,b);_=setTimeout(M,1e3)}catch(d){Z("Error trying to send message: "+d,ma.ERROR,"sendMessageToFrame");c=!1}return c}function J(a){var b;if("function"==typeof Array.prototype.toJSON){var c=Array.prototype.toJSON;delete Array.prototype.toJSON;try{b=JSON.stringify(a)}catch(d){Array.prototype.toJSON=c;throw d}Array.prototype.toJSON=c}else b=JSON.stringify(a);return b}function K(b){var c=da[b.domain]&&da[b.domain].defaults;b.callId=m("call");b.returnDomain=na;void 0===b.timeout&&(b.timeout=c&&c.timeout||sa.timeout);void 0===b.retries&&(b.retries=c&&void 0!==c.retries?c.retries:sa.retries);b.progress&&(b.fireProgress=!0);b.headers=b.headers||{};b.headers["LP-URL"]=a.location.href;return b}function L(a,b){var c=!1;try{da[a].elem.contentWindow.postMessage(b,a);c=!0}catch(d){Z("Error trying to send message: "+d,ma.ERROR,"_postTheMessage")}return c}function M(){_&&clearTimeout(_);_=null;var a=new Date,b=0,c=[];for(var d in ea)if(ea.hasOwnProperty(d)&&ea[d].launchTime){var e=a-ea[d].launchTime;e>ea[d].timeout?c.push(d):b+=1}if(c.length){Z("Checking errors found "+c.length+" timeout callbacks to call",ma.DEBUG,"_checkForErrors");for(var f=0;f0&&(_=setTimeout(M,1e3));return!0}function N(a){var b=a;try{b=JSON.parse(J(a))}catch(c){}return b}function O(a,b){var c,d=ea[a.callId],e=a.responseType,f=!1;if(a.callId&&ea[a.callId]||a.responseType===oa.reloading||a.responseType===oa.stats)try{switch(e){case oa.completed:c=d.success;f=!0;break;case oa.error:c=d.error;f=!0;ha+=1;break;case oa.progress:c=d.progress;break;case oa.reloading:a=b;c=P;break;case oa.stats:c=$;a=a.rawData}if(f){z(a.callId);V(a);ia=ia>=0?0:ia-1}c&&"function"==typeof c&&W(c,d&&d.ctx||null,a);c=null;d=null}catch(g){Z("Error in executing callback: "+g,ma.ERROR,"_executeMessageCallback");return!1}return!0}function P(a){Z("Got reload request from "+a,ma.INFO,"_handleReload");da[a].validated=ua.PENDING;if(!da[a].reloadObj){Z("Creating reloadObj"+a,ma.DEBUG,"_handleReload");da[a].reloadObj=T(a)}Q(a)}function Q(a){Z("Reload try for domain "+a+" ,retries left "+da[a].reloadObj.retriesLeft,ma.INFO,"_reloadIFrame");da[a].reloadObj.retriesLeft=da[a].reloadObj.retriesLeft-1;da[a].reloadObj.setLocationTimeout&&clearTimeout(da[a].reloadObj.setLocationTimeout);if(da[a].reloadObj.retry)da[a].reloadObj.setLocationTimeout=setTimeout(R(a),da[a].reloadInterval);else{da[a].reloadObj.retry=!0;R(a)()}}function R(a){return function(){da[a].iFrameOnloadTimeout=setTimeout(function(){A(a,{error:{code:404,message:"Frame did not trigger load"}})},ta);S(da[a].elem,da[a].url)}}function S(a,b){b+=b.indexOf("?")>0?"&bust=":"?bust=";b+=(new Date).getTime();b+="&loc="+encodeURIComponent(location.protocol+"//"+location.host);Z("Setting iFrame to URL: "+b,ma.INFO,"_setIFrameLocation");a.setAttribute("src",b)}function T(a){Z("Creating reload object "+a,ma.INFO,"_createReloadObject");return{retriesLeft:da[a].maxReloadRetries}}function U(a){Z("Cleaning up reload object for this instance"+a,ma.INFO,"_cleanUpReloadObject");if(da[a].reloadObj){da[a].reloadObj.setLocationTimeout&&clearTimeout(da[a].reloadObj.setLocationTimeout);da[a].reloadObj=null;delete da[a].reloadObj}}function V(a){for(var b=["callId","responseType"],c=0;c-1||(""+window.WebSocket).indexOf("WebSocketConstructor")>-1;return b&&(c||d)}function i(a){if("object"==typeof a&&a.request){Z.request=JSON.parse(y(a.request));Q=!0;if(a.response)Z.response=a.response;else if("object"==typeof a.keys&&"object"==typeof Z.request&&"string"==typeof a.keys.request&&"string"==typeof a.keys.response){Z.reqKey=a.keys.request;Z.resKey=a.keys.response}"function"==typeof a.callback&&W.push({cb:a.callback});(Z.response||Z.reqKey&&Z.resKey)&&(Z.timeout=a.timeout||$.pingTimeout);Z.idleBeforePing=a.idleBeforePing||$.idleBeforePing}}function j(a,b,c){if(window.lpTag&&lpTag.log){"string"==typeof a&&c&&(a=c+": "+a);lpTag.log(a,b,N)}}function k(a,b){j(a,_.ERROR,b)}function l(){if(X>=$.maxReconnectAttempt)w("cb",V,{state:"TERMINAL",code:503,message:"Socket terminal, will not reconnect"});else if($.autoReconnect&&M){L&&clearTimeout(L);L=setTimeout(function(){if(!n()){X+=1;l()}},m())}}function m(){var a;a=X1e3||b?500:200,reason:a.reason||"",domain:a.srcElement&&a.srcElement.url?a.srcElement.url:""}:null}function w(a,b,c){var d;if(b){d=b.constructor===Array?b:[b];for(var e=0;e0))return!0;var b,c=!1,d=/https{0,1}:\/\/([^\/|\s]+)/gi.exec(a);b=2===d.length?d[1]:"";if(b)for(var e=0;e2)for(var e=d.length-1,f=b.split("."),g=f.length-1;g>=0;g--){if(d[e]!==f[g]&&"*"!==f[g]){c=!1;break}if(!(e-1>0))break;e-=1}else c=!1;return c}function t(a){if("object"==typeof a)for(var b in a)a.hasOwnProperty(b)&&b&&(S[b]?w(b,S[b],a[b]):"config"===b&&a[b].allowDomain?A(a[b].allowDomain):h("Callback not found for key:"+b+" response:"+JSON.stringify(a[b]),"_handleMessage"));else h("Message response not an object: "+a,"_handleMessage")}function u(a){D("error",S,X);h("Socket closed: "+JSON.stringify(a))}function v(a){void 0===a.responseCode&&(void 0!==a.statusCode?a.responseCode=a.statusCode:void 0!==a.HTTPStatus&&(a.responseCode=a.HTTPStatus));return a}function w(a,b,c){var d;if(c){c=v(c);if(c.responseCode<400||c.statusCode&&c.statusCode<400)d=b.success;else{d=b.error;R+=1}if(z(a)){"object"==typeof c&&(c.requestName=a);y(a,c.cancelId)}else B(a);j(x(b,c),"_runMessageResponse");C(d,c,b.context);i("Ran response for key: "+a,"_runMessageResponse")}}function x(a,b){var c={},d=(new Date).getTime();c[a.url]={duration:d-a.launchTime,request:I(a),response:I(b)};return c}function y(a,b){if(b&&S[a]){S[a].cancelId=b;T[b]=a}}function z(a){return S[a]&&!0===S[a].persistent}function A(a){U=a;U&&U.constructor===Array&&1===U.length&&"*"===U[0]&&(U.length=0);i("Allowed Domains: "+JSON.stringify(a),"_setAllowedDomains")}function B(a){S[a]=null;delete S[a]}function C(a,b,c){if("function"==typeof a)try{a.call(c||null,b)}catch(d){h("Error executing callback","_runCallback")}}function D(a,b,c){var d;if(b){d=b.constructor===Array?b:[b];for(var e=0;e0){a.index>=a.eventBufferLimit&&(a.index=0);a.fired[a.index]=b;a.index++}else a.fired.push(b);a=null}}function j(a,b){var c=!1;if(!b){e("Ev listen id not spec for unregister","ERROR","Events");return null}for(var d in a)if(a.hasOwnProperty(d))for(var f=0;f0)for(var g=0;g0}function h(a,b,d){return function(){try{a.func.call(a.context,b,d);b=null;a.triggerOnce&&e(a);a=null}catch(f){c.log("Error executing "+d.eventName+" eventId: "+a.id+"e="+f.message,"ERROR","Events")}}}function i(a){c.storeEventData({triggerData:a,eventBufferLimit:k,attrName:n,fired:q,index:s})}var j,k,l,m="Events",n="eventName",o=0,p={},q=[],r="evId_",s=0;l=a&&a.appName||"*";j=!(!a||"boolean"!=typeof a.cloneEventData)&&a.cloneEventData;k=a&&!isNaN(a.eventBufferLimit)?a.eventBufferLimit:-1;this.once=b;this.hasFired=f;this.trigger=g;this.publish=g;this.bind=d;this.register=d;this.unbind=e;this.unregister=e}d||(b.Events=b.Events||e);return e});window.lpTag=window.lpTag||{};lpTag.taglets=lpTag.taglets||{};lpTag.utils=lpTag.utils||{};lpTag.utils.log=lpTag.utils.log||function(){};lpTag.utils.log.debug=!1;lpTag.taglets.ChatOverRestAPI=lpTag.taglets.ChatOverRestAPI||function(a){function b(){var a,b=ua&&ua.domain;b&&ua.lpNumber&&(a="https://"+b+"/api/account/"+ua.lpNumber+"/conversation.json?v=1&NC=true");return a}function c(a){return[oa.cId,oa.sId,oa.vId,oa.authChatConnId,oa.ssoKey,oa.eId,oa.redirectUri].filter(function(b){return void 0===a[b]})}function d(a){var c=b();if(c&&a){var d=ga.validateAndExtendConfigs([{obj:a,type:sa.STR,path:oa.cId,prop:oa.leCid},{obj:a,type:sa.STR,path:oa.sId,prop:oa.leSid},{obj:a,type:sa.STR,path:oa.vId,prop:oa.leVid},{obj:a,type:sa.NUM,path:oa.authChatConnId,prop:oa.authChatConnId},{obj:a,type:sa.STR,path:oa.ssoKey,prop:oa.ssoKey},{obj:a,type:sa.NUM,path:oa.eId,prop:oa.eId},{obj:a,type:sa.STR,path:oa.redirectUri,prop:oa.redirectUri}],{}),e={data:d,transportOrder:ja,method:"POST",url:c,retries:Ha.retries,timeout:Ha.timeout,headers:{Accept:"application/json",Authorization:"LivePerson appKey="+ua.appKey},success:function(b){b=b||{};v(na.DEBUG,{originalRequest:a,sentRequest:e,body:b});aa.publish({eventName:qa.onAuthentication,data:b.body});e=null},error:function(b){b=b||{};v(na.ERROR,{originalRequest:a,sentRequest:e,response:b});aa.publish({eventName:qa.onAuthenticationFail,data:{error:"authenticate - Request failed",response:b.body}});e=null}};e=U(e);try{v(na.INFO,{originalRequest:a||"",sentRequest:e,response:"SENDING REQUEST"});return ia.issueCall(e)}catch(f){v(na.ERROR,{request:e,message:"authenticate - Failed to send request"});aa.publish({eventName:qa.onAuthenticationFail,data:{error:"authenticate - Failed to send request",response:f}})}}else{v(na.ERROR,{originalRequest:a,message:"authenticate - Invalid input"});aa.publish({eventName:qa.onAuthenticationFail,data:{error:"authenticate - Invalid input"}})}}function e(a,b){a=a||{};(b.text||b.json)&&(a.event=a.event||{});b.text&&(a.event.text=b.text);if(b.json){a.event.textType=oa.RichContent;a.event.json=b.json;a.event.metadata=b.metadata||[]}return a}function f(){function b(){if(e){clearTimeout(e);e=null}}function c(){P({success:d,error:d});f=(new Date).valueOf()}function d(){if(g){b();var a=(new Date).valueOf()-f;a=i-a;a>0?e=setTimeout(c,a):c()}}var e,f,g,h={inChat:a&&a.chatPollInterval||2e3,exitSurvey:a&&a.chatExitSurveyInterval||15e3},i=h.inChat,j=this;j.changeKeepAliveState=function(){b();g=!Ga&&(ra.chatInProgress||ra.exitSurveyOn);if(g){i=ra.chatInProgress?h.inChat:h.exitSurvey;c()}};j.stopKeepAliveRequests=function(){if(ra.exitSurveyOn){ra.exitSurveyOn=!1;g=!1;b()}};j.storeChatLocationURI=function(b,c){var d=t(ka.chat);a.sessionUID&&(d=t(a.sessionUID));var e={chatRel:b,location:window.location.href};if(c){e.overRides={};for(var f in c)c.hasOwnProperty(f)&&(e.overRides[f]=c[f])}_.setSessionData(d,e)};j.sessionEnded=function(){_.removeSessionData(t(ka.sessionVars));_.removeSessionData(t(ka.chat));_.removeSessionData(t(ka.resumeMode));a.sessionUID&&_.removeSessionData(t(a.sessionUID))}}function g(a,b){return ga.validateAndExtendConfigs([{obj:b,type:sa.STR,path:oa.leVid,prop:oa.leVid},{obj:b,type:sa.STR,path:oa.leSid,prop:oa.leSid},{obj:b,type:sa.STR,path:oa.leCid,prop:oa.leCid},{obj:b,type:sa.STR,path:oa.skill,prop:oa.skill}],a,!1)}function h(b){if(lpTag.Chronos.Events&&lpTag.RelManager&&lpTag.SessionDataManager){aa=new lpTag.Chronos.Events({cloneEventData:!0,eventBufferLimit:50});ba=new f;ca=new lpTag.RelManager(b&&b.transportOrder||ja);a=a||{};a.appName=ea;_=new window.lpTag.utils.SessionDataAsyncWrapper(a);m()}else 20>Fa&&setTimeout(h,500);Fa++}function i(){for(var a in qa)qa.hasOwnProperty(a)&&(da[a]=j(a))}function j(a){return function(b,c,d){return r(a,b,c||"",d)}}function k(){return!!(ua.lpNumber&&ua.appKey&&ua.domain)}function l(b,c){if(b){b.clearDomain?ua.domain=ga.trim(b.domain):ua.domain=ga.trim(b.domain)||ga.trim(ua.domain)||"";ua.lpNumber=ga.trim(b.lpNumber)||ga.trim(ua.lpNumber)||"";ua.appKey=ga.trim(b.appKey)||ga.trim(ua.appKey)||"";a.sessionUID&&(ua.sessionUID=a.sessionUID);if(ua.lpNumber&&ua.appKey&&ua.domain){ca.setData(ua);typeof c===sa.BOOL&&!c||_.usingSecureStorage||_.setSessionData(t(ka.sessionVars),ua)}ma=b&&b.environment&&la[b.environment]?b.environment:ma;ua.domain&&ua.lpNumber&&x()}}function m(){function b(a){var b;for(var c in a)if(a.hasOwnProperty(c)&&0===String(c).indexOf("on")&&da.hasOwnProperty(c)){a[c]=a[c].constructor===Array?a[c]:[a[c]];for(var e=0;e=0&&a.maxWaitTime<86400&&(e.maxWaitTime=a.maxWaitTime);typeof a.buttonName===sa.STR?e.chatReferrer="(button dynamic-button:"+a.buttonName+"()) "+document.location.href:!0===a.invitation?e.chatReferrer="(engage) "+document.location.href:(a.chatReferrer||document.referrer)&&(e.chatReferrer=a.chatReferrer||document.referrer);if(typeof a.customVariables===sa.OBJ)if(a.customVariables.customVariable&&a.customVariables.customVariable.constructor===Array)e.customVariables=a.customVariables;else{var f=I(a.customVariables);f&&(e.customVariables=f)}a.preChatLines&&a.preChatLines.constructor===Array&&(e.preChatLines={line:a.preChatLines});return ga.hasProperties(e)?{request:e}:{}}function I(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push({name:c,value:a[c]});return b.length>0?{customVariable:b}:null}function J(a,b,c){for(var d=ca.getURI(a,b),e={link:[]},f=0;fya){setTimeout(function(){M(a,b)},wa);ya+=1}else{if(ra.chatState===da.chatStates.RESUMING){Y(W(da.chatStates.NOTFOUND));ba.sessionEnded()}D(a,c,d,qa.onRequestChat,"_getSessionData - server error");ya=0;Ba=!1}};v(na.INFO,{originalRequest:"",sentRequest:c,response:"SENDING REQUEST"});aa.publish({eventName:pa.onSessionData,data:c,cloneEventData:!0});return ia.issueCall(c)}function N(a,b,c){if(c){ca.addRels({link:c.body.chat.link},{type:"chat"});ca.addRels(c.body.chat.info,{type:"visitor"});var d=ga.getResponseData(c,"chat",!1);aa.publish({eventName:qa.onRequestChat,data:d});X(d.info);d.events=Q(d.events,d.info);var e=Z(d.events);e&&R(e,d.events);ga.runSuccessCallback(b,d);Ea=!1}}function O(a){for(var b={},c=0;cza?D(a,b,c,[qa.onEvents],"_getEvents - server error"):!$&&za>va||c&&c.error&&12===c.error.internalCode?Y(W(da.chatStates.NOTFOUND)):E([qa.onLine,qa.onAgentTyping,qa.onInfo,qa.onEvents],c)};v(na.INFO,{originalRequest:"",sentRequest:b,response:"SENDING REQUEST"});return ia.issueCall(b)}function Q(a,b){var c=a&&a.event;c=c&&c.constructor===Array?c:[c];if(c&&b&&b.agentPictureUrl)for(var d=0;d0&&(b.info=c)}return b}}function U(a){a.headers=a.headers||{};a.headers.Pragma="no-cache";a.headers["Cache-Control"]="private, max-age=0, no-cache, no-store";return a}function V(a){return a.length>1?a[a.length-1]:a[0]}function W(a,b){return{state:a,time:b||(new Date).toTimeString()}}function X(a){if("typing"===a.agentTyping!=ra.agentTyping){ra.agentTyping="typing"===a.agentTyping;aa.publish({eventName:qa.onAgentTyping,data:{agentTyping:ra.agentTyping}});a.agentTyping=null;delete a.agentTyping}var b=!1;for(var c in a)if(a.hasOwnProperty(c)&&ra.hasOwnProperty(c)&&a[c]!=ra[c]&&"lastUpdate"!==c&&"agentTyping"!==c&&"visitorTyping"!==c&&"state"!==c){ra[c]=a[c];b=!0}ra.state==da.chatStates.RESUMEPAUSEDCHAT&&a.state!==ra.state&&Y(W(a.state));ra.lastUpdate=a.lastUpdate;b&&aa.publish({eventName:qa.onInfo,data:ra,cloneEventData:!0})}function Y(a){if(ra.chatState!==a.state){ra.chatState=a.state;switch(a.state){case da.chatStates.ENDED:aa.publish({eventName:qa.onStop,data:a});break;case da.chatStates.CHATTING:aa.publish({eventName:qa.onStart,data:a})}aa.publish({eventName:qa.onState,data:a})}}function Z(a){if(!a.event)return null;a=a.event;a=a.constructor===Array?a:[a];for(var b={},c=!1,d=0;d